/**
 * 认证相关工具函数
 */

// token的key名称
const TOKEN_KEY = 'token'

/**
 * 获取token
 * @returns {string} token值
 */
export const getToken = () => {
  return uni.getStorageSync(TOKEN_KEY) || ''
}

/**
 * 设置token
 * @param {string} token - token值
 */
export const setToken = (token) => {
  uni.setStorageSync(TOKEN_KEY, token)
}

/**
 * 移除token
 */
export const removeToken = () => {
  uni.removeStorageSync(TOKEN_KEY)
}

/**
 * 检查是否已登录（有token）
 * @returns {boolean} 是否已登录
 */
export const isLoggedIn = () => {
  return !!getToken()
}

/**
 * 获取token的有效负载部分（不验证签名）
 * @returns {Object|null} token的负载部分解析后的对象，解析失败返回null
 */
export const getTokenPayload = () => {
  const token = getToken()
  if (!token) return null
  
  try {
    // 分割token，获取中间的payload部分
    const parts = token.split('.')
    if (parts.length !== 3) return null
    
    // 解码payload
    const payload = JSON.parse(atob(parts[1]))
    return payload
  } catch (error) {
    console.error('Token解析失败', error)
    return null
  }
} 